package com.aizuda.boot.modules.business.counterparty.entity.dto;


import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.util.List;

/**
 * 新增交易方请求DTO
 */
@Data
@Schema(description = "新增交易方请求")
public class CreateCounterpartyReqDTO {

    @Schema(description = "交易方编码")
    private String counterpartyCode;

    @Schema(description = "交易方名称", required = true)
    @NotBlank(message = "交易方名称不能为空")
    private String counterpartyName;

    @Schema(description = "注册国家代码，如：CN、US等")
    private String registerCountry;

    @Schema(description = "交易方性质，企业、自然人、非营利性组织")
    private Integer counterpartyNature;

    @Schema(description = "交易方类型")
    private List<Integer> counterpartyType;

    @Schema(description = "是否关联方，true-是，false-否")
    private Boolean isRelatedParty;

    @Schema(description = "证件类型，注册号、税号")
    private Integer certificateType;

    @Schema(description = "证件ID")
    private String certificateId;

    @Schema(description = "银行信息列表")
    @Valid
    private List<BankInfoDTO> bankInfoList;

    @Schema(description = "系统租户")
    private List<String> sysTenantKey;

    @Schema(description = "附件列表")
    private List<Long> attachments;
} 